/*0=non controllo 1=controllo*/
var checkAbilitati=1;
/*mi dice se e` visibile il blocco con gl iakltri metadati se e` 0 e` invisibile*/

/*unzione di post: controllo che ci siano i meta, avverto che alcuni li ha lasicati vuoti e chiedo di continuare
,creo la scheda, la valido , la posto
ilparametro isNew se e` 1 dice che  **NON**  e` nuova senno (0)e` da creatre come nuova
*/
/*crea la scheda e la posta*/
function createAndPost(isNew){
   try{
		xmlScheda = createDOM("","");
		var nsDef= 'http://ltw.web.cs.unibo.it/esempio';
		var nsBo = 'http://www.w3.org/1999/xhtml';
		var nsXsi= 'http://www.w3.org/2001/XMLSchema-instance';
		var scheda = xmlScheda.createElementNS(nsDef, 'ds:scheda');
		xmlScheda.appendChild(scheda);
		scheda.setAttribute('xmlns:xsi', nsXsi);
		scheda.setAttribute('xsi:schemaLocation', 'http://ltw.web.cs.unibo.it/esempio http://vitali.web.cs.unibo.it/twiki/pub/TechWeb08/PagSchemaDS/schedaSchema.xsd');
		scheda.setAttribute('xmlns:bo', nsBo);
		
		var metadati = xmlScheda.createElement('metadati');
		scheda.appendChild(metadati);
		
		
		var work = xmlScheda.createElement('work'); 
		metadati.appendChild(work);
		var expression = xmlScheda.createElement('expression');
		metadati.appendChild(expression);
	
		var widentifier = xmlScheda.createElement('widentifier');
		work.appendChild(widentifier);
		if(isNew==1){
		/*messo corretto dal processo precedente*/
			wIdTx = xmlScheda.createTextNode(wid);
		}else{
			wIdTx = xmlScheda.createTextNode("0");	
		}
		widentifier.appendChild(wIdTx);
		
		if(isNew==1){
			/*fillato gia da un processo precedente*/
		}else{
			wcre=document.getElementById("form-ecreator").value;
		}
		var wCrArr =  wcre.split(",");
			for (i = 0; i < wCrArr.length; i++) {
			var wcreator = xmlScheda.createElement('wcreator');
			work.appendChild(wcreator);
			var wCrTxt = xmlScheda.createTextNode(wCrArr[i]);
			wcreator.appendChild(wCrTxt); 
		}	

		var wcoverage = xmlScheda.createElement('wcoverage');
		work.appendChild(wcoverage); 
		var wcoveragetext = xmlScheda.createTextNode(document.getElementById("form-wcoverage").value);
		wcoverage.appendChild(wcoveragetext);
	
		var wtitle = xmlScheda.createElement('wtitle');
		work.appendChild(wtitle);
		if(wtit==null){
			wtit=document.getElementById("form-etitle").value;
		}
		var wtitletext = xmlScheda.createTextNode(wtit);
		wtitle.appendChild(wtitletext);
	
		var wdate = xmlScheda.createElement('wdate');
		work.appendChild(wdate); 
		var wdatetext = xmlScheda.createTextNode('2001-01-01T01:01:01');/*tanto lo setta il DS*/
		wdate.appendChild(wdatetext);
	
		var eidentifier = xmlScheda.createElement('eidentifier');
		expression.appendChild(eidentifier);
		var eidentifiertext = xmlScheda.createTextNode('0');/*idem*/
		eidentifier.appendChild(eidentifiertext); 
	
		var eCrArr =  (document.getElementById("form-ecreator").value).split(",");
		for (i = 0; i < eCrArr.length; i++) {
			var ecreator = xmlScheda.createElement('ecreator');
			expression.appendChild(ecreator);
			var wCrTxt = xmlScheda.createTextNode(eCrArr[i]);
			ecreator.appendChild(wCrTxt); 
		}
	
		var eCoArr =  (document.getElementById("form-econtributor").value).split(",");
		for (i = 0; i < eCoArr.length; i++) {
			var econtributor = xmlScheda.createElement('econtributor');
			expression.appendChild(econtributor);
			var eCoTxt = xmlScheda.createTextNode(eCoArr[i]);
			econtributor.appendChild(eCoTxt); 
		}
	
		var edate = xmlScheda.createElement('edate');
		expression.appendChild(edate);
		var edatetext = xmlScheda.createTextNode('2001-01-01T01:01:01');
		edate.appendChild(edatetext); 
	
		var edescription = xmlScheda.createElement('edescription');
		expression.appendChild(edescription);
		var eDeTx = xmlScheda.createTextNode(document.getElementById("form-edescription").value);
		edescription.appendChild(eDeTx);
		
		var elanguage = xmlScheda.createElement('elanguage');
		expression.appendChild(elanguage);
		var eLaTx = xmlScheda.createTextNode(document.getElementById("form-elanguage").value);
		elanguage.appendChild(eLaTx);
	 
		var erelation = xmlScheda.createElement( 'erelation');
		expression.appendChild(erelation);
		if(isNew==1){
			/*gia riempito da un processo precedente perche non e` nuova*/
			eRlTx = xmlScheda.createTextNode(erel);
		}else{
			eRlTx = xmlScheda.createTextNode("");
		}
		erelation.appendChild(eRlTx);
			
		var esource = xmlScheda.createElement('esource');
		expression.appendChild(esource); 
		var esourcetext = xmlScheda.createTextNode(eso);
		esource.appendChild(esourcetext);
			
		var epublisher = xmlScheda.createElement('epublisher');
		expression.appendChild(epublisher);
		var ePuTx = xmlScheda.createTextNode(epub);
		epublisher.appendChild(ePuTx); 
	
		var esubject = xmlScheda.createElement('esubject');
		expression.appendChild(esubject);
		var eSuArr =  (document.getElementById("form-folksonomia").value).split(",");
		for (i = 0; i < eSuArr.length; i++) {
			var folksonomia = xmlScheda.createElement('folksonomia');
			esubject.appendChild(folksonomia);
			var eSuTxt = xmlScheda.createTextNode(eSuArr[i]);
			folksonomia.appendChild(eSuTxt); 
		}
	
		var etitle = xmlScheda.createElement('etitle');
		expression.appendChild(etitle);
		var etitletext = xmlScheda.createTextNode(document.getElementById("form-etitle").value);
		etitle.appendChild(etitletext);
	
		var etype = xmlScheda.createElement( 'etype');
		expression.appendChild(etype);
		var etypetext = xmlScheda.createTextNode(document.getElementById("form-etype").value);
		etype.appendChild(etypetext); 
	
		var bodyString = "<div>" + document.getElementById("form-bodySchedaArea").value + "</div>";
	
		xmlDocBody=createParser(bodyString);
		
		var body = xmlScheda.createElement('body');
		scheda.appendChild(body);
		var nodoBody=xmlScheda.importNode(xmlDocBody.documentElement,true);
		body.appendChild(nodoBody);
		
		ds[getIndexByCatalog(epub)].save (xmlScheda,
							null,
							function (req) {
								var url = req.responseXML.getElementsByTagName ("risposta")[0].textContent;
								UILoadScheda (url);
							},
							catchErrorDS);
		return true;
	}catch(e){
		alert(e);	
		return false;
	}	
   return true;
}


/*funzione che viene chiamata dopo che la open e` andata a buon fine*/
function handleAfterPost(){
	var urlexpr = xmlHttp.responseXML.getElementsByTagName("risposta")[0].nodeValue;
	var am = new AjaxManager (urlexpr, setPirolinoAndRedraw, setContentAndRedraw, setContentAndRedraw);
	am.get ();
}

/*funzione di controllo dei metadati creo la stringa degli errori e ritorno 1 se non ne ho trovati 0 se ne ho*/
function checkMetadati(){
    var textMsg="";
    var ret=1;
    
    if(document.getElementById("form-etitle").value==""){
        ret=0;
        textMsg+="Non hai inserito il titolo dell'expression \n";
    }
    if(document.getElementById("form-ecreator").value==""){
        ret=0; 
        textMsg+="Non hai inserito l'autore dell'expression \n";
    }
    if(ret==0){
	    alert(textMsg);
	 }
    return ret;
}
/*inverto la variabile di controllo*/
function cambiaCheckCampi(){
    if(checkAbilitati==0){
        checkAbilitati=1;
    }else{
        checkAbilitati=0;
    }
    return;
}
/*se devo controllare le cose vuote avverto lo scrittore delle mancanze
senno tiro dritto*/
function checkEmptyes(){
    if(checkAbilitati==0){
        return 1;
    }
    var textMsg="";  
    
    if(document.getElementById("form-econtributor").value==""){
        textMsg+="Non hai inserito collaboratori, ok? \n";
    }
    if(document.getElementById("form-folksonomia").value==""){
        textMsg+="Non hai inserito tag, ok? \n";
    }
    if(document.getElementById("form-edescription").value==""){
        textMsg+="Non hai inserito una descrizione, ok? \n";
    }
    if(document.getElementById("form-wcoverage").value==""){
        textMsg+="Non hai inserito il coverage, ok? \n";
    }
    if(confirm(textMsg+"\n  Procedere coi campi settati cosi?")){
        return 1;
    }
    return 0;
}
